import { defineStore } from 'pinia'

export const useUser = defineStore('user', {
  // 为了完整类型推理，推荐使用箭头函数
  state: () => {
    return {
      showLogin: false, // 显示登录框
      isLogin: false, // 是否登录
      userInfo: {}, // 用户信息
      headImage: '', // 用户头像
      areaCode: [], // 当前区域编号
      newAddress: {}, // 新增修改收货地址
    }
  },
  // getters: {
  //   getShowLogin: (state) => state.showLogin
  // },
  actions: {
    setShowLogin (data) {
      this.showLogin = data === undefined ? !this.showLogin : data
    },
    setIsLogin (data) {
      this.isLogin = data
    },
    setUserInfo (data) {
      this.userInfo = data
    },
    setHeadImage (data) {
      this.headImage = data
    },
    setAreaCode (data) {
      this.areaCode = data
    },
    setNewAddress (data) {
      this.newAddress = data
    }
  },
  persist: {
    enabled: true,
    strategies: [
      {
        storage: localStorage, // 默认存储在sessionStorage里
        // paths: ['showLogin']  // 指定存储state，不写则存储所有
      }
    ]
  }
})